package utils

import (
	"bufio"
	"os"
	"strings"
	"log"
)


func LoadFileToEnv(fileName string) {
	file, err := os.Open(fileName)
	if err != nil {
		log.Fatal(err)
	}
	defer file.Close()

	// 创建一个Scanner来读取文件内容
	scanner := bufio.NewScanner(file)


	// 逐行读取文件内容
	for scanner.Scan() {
		line := scanner.Text()

		// 忽略空行和注释行（以#开头）
		if line == "" || strings.HasPrefix(line, "#") {
			continue
		}

		// 解析配置项和值
		parts := strings.Split(line, "=")
		if len(parts) != 2 {
			log.Fatalf("无效的配置行: %s", line)
		}

		// 存储到环境变量里面
		os.Setenv(strings.TrimSpace(parts[0]),strings.TrimSpace(parts[1]))
	}

	// 检查Scanner是否出错
	if err := scanner.Err(); err != nil {
		log.Fatal(err)
	}
}